Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 适配 x·ite #1814

Closed
wants to merge 3 commits into from
Closed

Conversation

davidxuang
Copy link
Contributor

@davidxuang davidxuang commented Apr 17, 2024

适配新站点。
前置 issue/PR:#1815 #1860

截图

图片
图片

@davidxuang davidxuang changed the base branch from master to dev April 17, 2024 17:57
@davidxuang davidxuang force-pushed the patch/x-ite branch 2 times, most recently from 9e9184a to d0244ca Compare April 18, 2024 07:30
@IITII
Copy link
Member

IITII commented Apr 19, 2024

不建议修改,

  1. 问题的原因是 这个站点的搜索实现和其他站点不一致. np 默认的应该是 and 或者说 like, 该站默认是 or.
  2. ptpp 不会改写搜索关键词, -= 标准符可以直接写搜索词里面.
  3. 站点架构划分, 最普遍的或许就是 np 了. 但是 np 不支持 -+ 这种标志符, 如果加上则会无结果. 而且其他架构的站点对标志符的支持也是存疑的
  4. 一般 PTPP 搜索的使用场景都是批量. 结果可以多, 但是不能少. 多了可以筛选
  5. 如果帮用户改写关键词, 相当于修改搜索习惯. 可能会增加搜索出问题时候的排查成本.

如果需要修改

  1. 功能可关闭. 搜索结果不准确时, 可以关闭和站点原始搜索内容进行对比, 降低搜索出问题时候的排查成本. (可以考虑放在 siteInfo 里面)
  2. 注意多标志符, 以及无法改写时候的 fallback. 结果可以多, 但是不能少

@davidxuang
Copy link
Contributor Author

不建议修改,

1. 问题的原因是 这个站点的搜索实现和其他站点不一致. np 默认的应该是 and 或者说 like, 该站默认是 or.

2. ptpp 不会改写搜索关键词, -= 标准符可以直接写搜索词里面.

3. 站点架构划分, 最普遍的或许就是 np 了. 但是 np 不支持 -+ 这种标志符, 如果加上则会无结果. 而且其他架构的站点对标志符的支持也是存疑的

4. 一般 PTPP 搜索的使用场景都是批量. 结果可以多, 但是不能少. 多了可以筛选

5. 如果帮用户改写关键词, 相当于修改搜索习惯. 可能会增加搜索出问题时候的排查成本.

如果需要修改

1. 功能可关闭.  搜索结果不准确时, 可以关闭和站点原始搜索内容进行对比, 降低搜索出问题时候的排查成本. (可以考虑放在 siteInfo 里面)

2. 注意多标志符, 以及无法改写时候的 fallback. 结果可以多, 但是不能少

好像讨论错版了,不过就在这里好了 :)

  • 提出这个需求就是因为批量的时候一页返回的结果有限,如果相关性降低会很难受;
  • “功能可关闭”具体是要移到哪里呢?把开关移到 SearchEntry 里,然后给所有预置 entry 加 opt-in 这个功能的副本,这样就全由用户手动开启,可以吗?
    • 如果给 SearchEntry 加了这个开关,是在自定义 entry 的 UI 里把这个开关开放给所有站点并附上说明吗?
  • 关于已有标志符的情况我确实忘了考虑,这个功能的确应该只对 trival 的搜索词生效。简单写了个正则,用来验证搜索词是否是平凡、多词语,规则是每个词必须由字母 \{L} 数字 \{N} 开头,且只含有字母数字和标点 \{P}
const re = /^((?:[\p{L}\p{N}][\p{L}\p{N}\p{P}]*)(?: [\p{L}\p{N}][\p{L}\p{N}\p{P}]*)+)$/u

图片

@IITII
Copy link
Member

IITII commented May 5, 2024

  1. 配置项参考其他的放站点设置就可以,通过站点信息判断是否需要 rewrite.
  2. 考虑一些其他情况, 比如 Dead-Poets, 尽量不要导致结果缺少
  3. 为了方便排查问题, 建议 rewrite 后打印下日志
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants